package cn.colat.micse.user.config;

import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


/**
 * @author Zhangxi
 * @date 2022-02-28
 */

@Configuration
public class AliPayClientConfig {
    /**
     * 应用ID,APPID，收款账号既是您的APPID对应支付宝账号
     */
    // @Value("${payment.alipay.appId}")
    private String appId;
    /**
     * 商户私钥，PKCS8格式RSA2私钥
     */
    // @Value("${payment.alipay.merchantPrivateKey}")
    private String merchantPrivateKey;
    /**
     * 支付宝公钥,查看地址：https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
     */
    // @Value("${payment.alipay.alipayPublicKey}")
    private String alipayPublicKey;
    /**
     * 签名方式
     */
    // @Value("${payment.alipay.signType}")
    private String signType;
    /**
     * 字符编码格式
     */
    // @Value("${payment.alipay.charset}")
    private String charset;
    /**
     * 支付宝网关
     */
    // @Value("${payment.alipay.gatewayUrl}")
    private String gatewayUrl;
    /**
     * 服务器异步通知页面路径  需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
     */
    // @Value("${payment.alipay.notifyUrl}")
    private String notifyUrl;
    /**
     * 页面跳转同步通知页面路径 需http://格式的完整路径，不能加?id=123这类自定义参数，必须外网可以正常访问
     */
    // @Value("${payment.alipay.returnUrl}")
    private String returnUrl;


    @Bean("alipayClient")
    public AlipayClient alipayClient() {
        return new DefaultAlipayClient(
                gatewayUrl,
                appId,
                merchantPrivateKey,
                "json",
                charset,
                alipayPublicKey,
                signType
        );
    }
}
